package com.erp.order.purchasing.dao;

import com.erp.hr.base.dao.BaseDao;
import com.erp.order.purchasing.model.*;
import org.redragon.framework.hibernate.model.Pages;
import java.util.List;

/**
 * 询价单 持久层
 * @Author: syz
 * @blame syz
 * @CreateTime: 2021/4/6
 */
public interface InquiryListDao extends BaseDao<InquiryList> {

    /**
     * 根据询价编码获取对象
     * @param code 询价编码
     * @return 询价单对象
     */
    InquiryList getByCode(String code);

    /**
     * 根据1688id获取对象
     * @param id 1688id
     * @return 询价单对象
     */
    InquiryList getBy1688Id(String id);

    /**
     * 获取时间范围内的创建数量
     * @return 时间范围内的申请数量
     */
    Integer getCreateCount();

    List<InquiryListR> getMdVendorInquiryList(Pages pages, InquiryListR inquiryListR, String username);

    InquiryList getDataById(int id);

    List<InquiryListRS> getQuotedLists(Pages pages, InquiryListRS inquiryListR, String username);

    /**
     * 根据询价单id获取已报价供应商集合
     * @param id 询价单id
     * @return 已报价供应商集合
     */
    List<InquiryListSupplier> getSupplierById(Long id);

    /**
     * 根据询价单/询价物资id获取报价详情集合
     * @param inquiryListId 询价单id
     * @param inquiryListMaterialId 询价物资id
     * @return 报价详情集合
     */
    List<QuotedPriceDetail> getQuoteMaterialList(Long inquiryListId, Long inquiryListMaterialId);

    List<QuotePriceInfo> getPriceInfoById(Long id);
}